Correlation peak finding method for image correlation displacement sensing

ABSTRACT

A correlation function peak finding method for an image correlation displacement sensing system is provided. The method may include capturing a reference image and a displaced image, and searching for an initial peak correlation function value point (CFVP) with pixel-level resolution based on correlating the reference image and displaced images at a plurality of offset positions. Then a complete set of CFVPs may be determined at each offset position in an analysis region surrounding the initial peak CFVP. Then a preliminary correlation function peak location is estimated with sub-pixel resolution, based on CFVPs included in the analysis region. Finally, curve-fitting operations are performed to estimate a final correlation function peak location with sub-pixel accuracy, wherein the curve-fitting operations apply a windowing function and/or a set of weighting factors that is/are located with sub-pixel resolution based on the preliminary sub-pixel correlation function peak location.

FIELD OF THE INVENTION

This invention is directed to determining object displacements using image correlation.

BACKGROUND OF THE INVENTION

Various known devices use images acquired by a sensor array, and correlation between images acquired by the sensor array, to determine deformations and/or displacements of an object. For example, one class of such devices is described in U.S. Pat. No. 6,873,422 (the '422 patent), U.S. Pat. No. 6,990,254 (the '254 patent), U.S. Pat. No. 6,996,291 (the '291 patent), and U.S. Pat. No. 7,065,258 (the '258) patent, all to Nahum, each of which is hereby incorporated by reference in its entirety. In general, in such devices, prior to displacing or deforming the object, a first or reference image arising from the object is captured and stored. Then, after displacing or deforming the object, a second or subsequent image arising from the object is captured and stored. The first and second images are then quantitatively compared, e.g. by correlation operations, on a pixel-by-pixel basis. In general, a plurality of respective comparisons are performed with the first and second images offset, or spatially translated, relative to each other by different respective amounts (e.g. by varying the offset in one pixel increments between the various comparisons). Then the resulting quantitative comparison, such as a correlation function value, is plotted against its corresponding offset amount, or spatial translation position, to determine a correlation function value point. The offsets having the strongest correlations between the second and first images will generate a peak or a trough (depending on how the pixel-by-pixel comparison is performed) in the plot of correlation function value points. The offset amount corresponding to the peak or trough represents the amount of displacement or deformation between the first and second images.

Various methods are known for estimating the peak or trough in a plot of correlation function value points with sub-pixel resolution. One of the more accurate methods is disclosed in the '422 patent, which describes how a sub-pixel error that is spatially periodic at the pixel pitch of the sensor array may arise in the correlation peak location estimates provided by various methods that use curve fitting. The '422 teaches various methods for reducing such errors when estimating a correlation peak location. However, some level of periodic sub-pixel error may remain after the methods of the '422 are applied. U.S. Pat. No. 7,085,431 to Jones (the '431 patent), which is hereby incorporated herein by reference in its entirety, teaches a method wherein the previously indicated periodic sub-pixel errors, and other errors, are characterized and compensated. However, there are calibration costs and signal processing complexity associated with the methods of the '431 patent.

The present invention is directed to a correlation peak finding method for image correlation displacement sensing that provides reduced spatially periodic sub-pixel errors while overcoming the foregoing and other disadvantages.

SUMMARY OF THE INVENTION

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

Certain systematic periodic sub-pixel errors arise when estimating the best correlation location or offset between a reference image and displaced images. The systematic sub-pixel error arises because of the discrete sampling procedure that is inherent in the limited resolution of the reference image and displaced correlation images, and the limited resolution of the steps between the offset positions used when calculating correlation function value points (CFVPs) in typical image correlation techniques, and the like. These inaccuracies may be exacerbated when relatively few CFVPs are used when estimating the correlation function peak location.

A correlation function peak finding method for use in an image correlation displacement sensing system is provided. The method reduces the types of systematic sub-pixel errors outlined above. In accordance with one aspect of the invention, a windowing function and/or weighting factors are applied prior to, or as part of, fitting a correlation function curve to a number of CFVPs. The windowing function and/or weighting factors are determined with reference to the location of a preliminary estimate of the correlation function peak location, wherein the preliminary estimate of the correlation function peak location is made with sub-pixel resolution.

In accordance with another aspect of the invention, the preliminary estimate of the correlation function peak location that is made with sub-pixel resolution may be based on a relatively small number of CFVPs, e.g. four CFVPs.

In accordance with another aspect of the invention, the correlation function curve may be fit to a relatively small number of CFVPs, e.g. less than 25 CFVPs for a two-dimension correlation function curve, or as few as nine CFVPs for a two-dimension correlation function curve in various embodiments.

In accordance with another aspect of the invention, the windowing function and/or weighting factors are chosen to significantly attenuate the influence on the curve-fitting operations of the CFVPs near the periphery of an analysis region that is generally used for the curve-fitting operations associated with each of a number of displacement measurements. In various embodiments, the weighting factors may correspond to a conical windowing function, a Gaussian windowing function, or a sigmoid windowing function, or the like. In one embodiment where the analysis region has a size M=N=5, the weighting factors may be determined based on a conical windowing function corresponding to a weighting value of 1.0 at a location (x_(p), y_(p)) that corresponds to the location of the preliminary estimate of the correlation function peak location that is made with sub-pixel resolution, and a weighting value of zero at a radius of M/2 offset increments, or more, from the location (x_(p), y_(p)). In one embodiment, the windowing function and/or weighting factors are applied to the difference between two terms in a least-squares curve-fitting function. However, each of these embodiments is exemplary only, and not limiting.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a diagram illustrating one example of how periodic sub-pixel errors may arise when determining displacements based on estimating correlation function peak locations using relatively few correlation function value points;

FIG. 2 is a graph illustrating a transformation of variables that is used in one embodiment of curve fitting operations that are usable in the routine of FIG. 3; and

FIG. 3 illustrates one exemplary embodiment of a routine according to this invention, for estimating correlation function peak locations with reduced periodic sub-pixel errors using relatively few correlation function value points.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 shows a diagram 100 that illustrates one way of describing how periodic sub-pixel errors may arise when determining displacements by estimating correlation function peak locations using relatively few correlation function value points. The diagram 100 shows a first schematically illustrated 2D correlation function value point pseudo-image 110 corresponding to a first displacement between a reference image of an object and a first subsequent image of the object. Also shown is a second schematically illustrated 2D correlation function value point pseudo-image 110′ corresponding to a second displacement between the same reference image of an object and a second subsequent image of the object. Also shown is 1D correlation function value magnitude plot 140. The pseudo-images 110 and 100′, and the plot 140, are all aligned to a common reference frame along the horizontal direction in the FIG. 1, as described in greater detail below.

The schematic illustration of the pseudo-image 110 shows an 8×8 grid of pseudo-pixels. Each particular pseudo-pixel location corresponds to a particular (X,Y) or (row, column) pixel offset between the reference image and a first subsequent displaced image provided by a displacement sensor, when the correlation function value corresponding to that particular offset is determined. The value assigned to that pseudo-pixel is the corresponding correlation function value, rather than an image intensity value.

In FIG. 1, one pseudo-pixel corresponding to the peak correlation function value point 120 is filled with an “X”. That pseudo-pixel corresponds to the most extreme-valued correlation function value within the pseudo-image 110 (i.e. the one that is closest to the correlation function peak). Various known image correlation processes begin by finding the peak correlation function value point 120. In various embodiments, the operations that determine the location of the peak correlation function value point 120 may comprise a fast- or coarse-search technique, such as one of the techniques outlined in the incorporated '291 or '254 patents.

It should be appreciated that in general purpose image correlation displacement sensing systems such as those under consideration here, the ability of the sensing system to track motion of an object at the highest practical speed is a desirable feature. This depends on the displacement sensing system's measurement cycle rate or sample rate, which in turn may depend on the speed with which image processing, correlation, and final sub-pixel correlation peak finding operations can be performed. Thus, in various embodiments, it may be important to reduce the number of correlation operations to a practical minimum, and find the final sub-pixel correlation peak location in a particularly efficiently manner. Accordingly, in various embodiments, first the peak correlation function value point 120 is determined, then a limited number of correlation function value points (CFVPs) in its vicinity are analyzed to determine the correlation peak location with sub-pixel resolution. In this example, for the pseudo-image 110, the limited number of CFVPs in the 5×5 analysis region 130 are analyzed. The analysis region 130 is selected such that it is centered about the peak correlation function value point 120.

Although the analysis region 130 includes enough data to locate the peak of the corresponding correlation function in two dimensions, for simplicity and clarity, in this discussion the peak location is only considered along one dimension. In particular, the 1D correlation function value magnitude plot 140 shows the CFVPs 150 (each of which is indicated by a “dot” symbol), corresponding to the values of the pseudo-pixels that are located in the same row of the analysis region 130 as the peak correlation function value point 120 (that is, row four). The correlation function value magnitude plot 140 also shows the underlying “true” correlation function 145, that would be determined if the reference and displaced images had “infinite” resolution and could be compared at a continuum of offset values. The true peak location 160 of the true correlation function 145 is indicated by a dashed line, and is a discussed further below. For purposes of explanation, the CFVPs 150 may be thought of as “sampling” the underlying true correlation function 145 at discrete points, in order to estimate the underlying curve and/or the true peak location 160.

The schematic illustration of the pseudo-image 110′ is analogous to the pseudo-image 110, and all of its “primed” numbered elements may be understood based on the previous description of their unprimed counterparts in the pseudo-image 110. Corresponding to the pseudo-image 110′, the ID correlation function value magnitude plot 140 shows the CFVPs 150′ (each of which is indicated by an “x” symbol), corresponding to the values of the pseudo-pixels that are located in the same row of the analysis region 130′ as the peak correlation function value point 120′ (that is, row four).

For purposes of this explanation, it is assumed that the second displaced image that is correlated to the reference image in order to determine the pseudo-image 110′, is infinitesimally displaced relative to the first displaced image that is correlated to the reference image to determine the pseudo-image 110. Because the first and second displaced images vary only infinitesimally, the underlying true correlation function 145 shown in correlation function value magnitude plot 140 may correspond to the pseudo-image 110′ as well as the pseudo-image 110. However, because the true peak location 160 falls approximately midway between the fourth and fifth horizontal offset positions that are used to determine the CFVPs, that infinitesimal difference is sufficient to causes the peak correlation function value point 120′ to shift by one horizontal offset position relative to the peak correlation function value point 120. As a result, the analysis region 130′ (which is centered relative to the peak correlation function value point 120′ according to the same procedure used relative to the pseudo-image 110) also shifts by one horizontal offset position, excluding the set of pseudo-pixels 112 of the analysis region 130 and including a “new” set of pseudo-pixels 113. For all of these reasons, even though the difference between their underlying image displacements may be infinitesimal, the sampling of the underlying true correlation function 145 by the CFVPs 150′ may be significantly different than that provided by the CFVPs 150. As a result, an estimate of the true peak location 160 based on the CFVPs 150′ may differ from an estimate based on the CFVPs 150. The difference between the estimates may be small relative to the pixel spacing. However, it should be appreciated that even small improvements in the accuracy and/or robustness of such estimates of the true peak location 160 are important in numerous applications of image correlation displacement sensing systems.

In summary, the discrete sampling described above may introduce inaccuracies into the resulting estimated correlation function peak location, due to the limited resolution of the reference image and displaced correlation images, the limited resolution of the steps between the horizontal offset positions corresponding to the CFVPs, the discrete nature of the peak correlation value point (120, 120′) selection, and the like. These inaccuracies may be exacerbated when relatively few CFVPs are used when estimating the correlation function peak location. In addition, these inaccuracies may be exacerbated whenever the true peak location 160 falls approximately midway between the horizontal offset positions that are used when determining the CFVPs. A periodic sub-pixel error may result, which will cause related errors in the displacement measurements provided by an image correlation displacement sensing system.

It should be appreciated that although FIG. 1 shows an example in the correlation function value magnitude plot 140 wherein the location corresponding to the best correlation between the reference and displaced images is adjacent to a maximum CFVP (which may correspond to the best correlation position for a multiplicative type correlation function for example), this invention is not so limited. In various embodiments, a “sum of the absolute differences” (SAD) type correlation function may be used to advantage. As known in the art, a SAD type correlation function produces a trough rather than a peak, and in such a case the location corresponding to the best correlation between the reference and displaced images is adjacent to a minimum CFVP. Therefore, it is to be understood in this disclosure that the location associated with the “best correlation” extremum of a true continuous correlation function may be called the correlation function peak location, regardless of whether the underlying correlation function actually produces a peak or a trough. Similarly, the most extreme CFVP may be called the peak CFVP, even in the case where it may be a minimum valued CFVP that is associated with a correlation trough, such as that produced by a SAD type correlation function.

The inventors have determined that for fitting a limited number of CFVPs, and particularly when fitting CFVPs that are based on a “sum of the absolute differences” (SAD) correlation method, a Gaussian curve fit may be advantageous for reducing errors in correlation function peak estimates. For example, for a limited number of points, under various conditions the Gaussian curve fit may produce somewhat lower errors than the methods taught in the '422 patent. However, fitting a Gaussian function to the CFVPs is not sufficient to eliminate the type of systematic periodic error outlined above with reference to FIG. 1.

One method for reducing the systematic error outlined above is to apply a windowing function to the CFVPs prior to, or as part of, the curve fitting operation. However, in contrast to the various studies and applications of windowing functions that may use a larger number of sampled points, or that may have better knowledge of the form of the “true” underlying curve, or the like, in practical correlation displacement sensing systems there may be a number of practical considerations and constraints such that a unique combination of operations may provide the most accurate method of estimating the “true” correlation function peak location with reduced errors, while also allowing relatively high displacement measurement rates. One exemplary combination of operations according to this invention that reduces the type of systematic periodic error outlined above, while also allowing the use of relatively few CFVPs and relatively high displacement measurement rates, is described with reference to the EQUATIONS 1-7, below. In particular, one exemplary embodiment for estimating the true 2D correlation function peak location for a two-dimensional set of CFVPs is outlined below. The various operations outlined below may be implemented in various circuits and/or routines included in a signal processing and control system associated with an image correlations displacement sensing system according to this invention. Various exemplary signal processing and control systems that are useable in conjunction with this invention are described in the incorporated references.

As previously indicated, for a limited number of CFVPs, it may be advantageous to perform a Gaussian curve fit. In one embodiment, the form of the Gaussian function GF that is used to approximate the underlying true correlation function may be expressed as:

$\begin{matrix} {{GF} = \sqrt{A - {B\; ^{- \frac{s^{2}}{2\; \sigma_{s}^{2}}}^{- \frac{t^{2}}{2\; \sigma_{t}^{2}}}}}} & \left( {{Eq}.\mspace{14mu} 1} \right) \end{matrix}$

where σ_(s) and σ_(t) are the standard deviations of the Gaussian function GF, and s and t are transformed CFVP coordinates, as shown in FIG. 2 and described below.

FIG. 2 shows a diagram 200 that shows the transformed (s,t) CFVP coordinate system. FIG. 2 includes a schematic illustration of a pseudo-image 110″ that is analogous to the pseudo-image 110 described above, and all of its “double-primed” numbered elements may be understood based on the previous description of their unprimed counterparts in the pseudo-image 110. For purposes of the explanation, an (x,y) coordinate system can be defined based on the horizontal and vertical offset positions of the CFVP pseudo-pixels, as shown. The ellipse 310 (which is shown with exaggerated elongation) schematically represents the base of a 2D Gaussian function GF that is positioned at the “best-fit” location relative to the CFVPs in the analysis region 130″. The transformation equations between the CFVP (x,y) coordinate system and the transformed CFVP (s,t) coordinate system are:

s(x−x ₀)cos φ+(y−y ₀)sin φ

t=−(x−x ₀)sin φ+(y−y ₀)cos φ  (Eq. 2,3)

As shown in FIG. 2, the location (x₀,y₀) corresponds to the geometric center of the ellipse 310 that is the base of the best-fit 2D Gaussian function GF, and the angle φ corresponds to the rotation of the major axis of the ellipse 310 relative to the x-axis. The location (x₀,y₀), in general, will be located between the discrete offset positions with sub-pixel resolution and, ideally, coincides as closely as possible with the peak of the true 2D correlation function that is sampled by the CFVPs in the analysis region 130″.

Signal processing in a practical image correlation displacement sensing systems may be performed in a faster and simpler manner by avoiding complications associated with the square root in EQUATION 1. Thus, in one embodiment, the square of the function GF may be fit to the squares of the CFVPs. The following function GF² may be fit to the squares of the CFVPs, referred to hereafter as CVFP²s:

$\begin{matrix} {{GF}^{2} = {A - {B\; ^{- \frac{s^{2}}{2\; \sigma_{s}^{2}}}^{- \frac{t^{2}}{2\; \sigma_{t}^{2}}}}}} & \left( {{Eq}.\mspace{14mu} 4} \right) \end{matrix}$

The function GF² has the same peak location as the function GF when it is fit to the values of the CVFP²s.

The analysis region 130″ may generally be characterized as an M-by-N region, extending from pseudo-pixel (x_(min),y_(min)) at the lower left to (x_(min+M),y_(min+N)) at the upper right. In the foregoing descriptions of the analysis regions 130-130″, M=N=5. The method of least squares may be used to find the best-fit parameters x₀ and y₀, and also the other best-fit parameters A, B, σ_(s), σ_(t), and φ. In order to fit the function GF² to the CFVP²s in the analysis region 130″, without the application of a windowing function, the following least squares function F may be defined and minimized:

$\begin{matrix} {{F\left( {x_{0},y_{0},A,B,\sigma_{s},\sigma_{t},\varphi} \right)} = {\sum\limits_{x = {x\; \min}}^{{x\; \min} + m}{\sum\limits_{y = {y\; \min}}^{{y\; \min} + n}\left\lbrack {{{GF}^{2}\left( {x,y} \right)} - {{CFVP}^{2}\left( {x,y} \right)}} \right\rbrack^{2}}}} & \left( {{Eq}.\mspace{14mu} 5} \right) \end{matrix}$

The foregoing function F may be modified to implement a windowing function that reduces the systematic sub-pixel errors, outlined above reference to FIG. 1, in the resulting estimate of the 2D correlation function peak. In one embodiment, the windowing function may be implemented by applying discrete weighting factors W(x,y) in a function FW as follows:

$\begin{matrix} {{{FW}\left( {x_{0},y_{0},A,B,\sigma_{s},\sigma_{t},\varphi} \right)} = {\sum\limits_{x = {x\; \min}}^{{x\; \min} + m}{\sum\limits_{y = {y\; \min}}^{{y\; \min} + n}{{W\left( {x,y} \right)}*\left\lbrack {{{GF}^{2}\left( {x,y} \right)} - {{CFVP}^{2}\left( {x,y} \right)}} \right\rbrack^{2}}}}} & \left( {{Eq}.\mspace{14mu} 6} \right) \end{matrix}$

The best-fit parameters (x₀, y₀, A, B, σ_(s), σ_(t), φ) that minimize the function FW may be determined according to known optimization techniques and/or optimization routines available in commercially available software libraries.

In various embodiments according to this invention, the weighting factors W(x,y), corresponding to the analysis region 130″, are determined with reference to the location of a preliminary estimate of the 2D correlation function peak location, wherein the preliminary estimate of the correlation function peak location is made with sub-pixel resolution. In various embodiments, the preliminary estimate of the correlation function peak location is made using relatively few CFVPs proximate to the peak correlation function value point 120″, for example according to one of the methods for estimating a correlation function peak with sub-pixel resolution as described in the '422 patent. The importance of establishing the location of a windowing function and/or the associated weighting factors W(x,y) on the basis of a preliminary sub-pixel resolution estimate of a correlation function peak location has not been previously recognized. We hereafter refer to the location of the preliminary sub-pixel resolution estimate of the correlation function peak as the location (x_(p), y_(p)).

It should be appreciated that, in various embodiments, the window function and/or weighting factors are chosen to significantly attenuate the influence of the pseudo-pixels near the periphery of the analysis region 130″ on the curve-fitting operations. In various embodiments, the weighting factors W(x,y) may correspond to a conical windowing function, a Gaussian windowing function, or a sigmoid function, or the like. Using a conical weighting function as an example, in one embodiment where the analysis region has a size M=N=5, the weighting factors may be determined based on a windowing function corresponding to a weighting value of 1.0 at the location (x_(p), y_(p)), and a weighting value of zero at a radius of 2.5 offset increments or more from the location (x_(p), y_(p)), for example:

$\begin{matrix} {{{{W\left( {x,y} \right)} = \frac{\sqrt{\left( {x - x_{p}} \right)^{2} + \left( {y - y_{p}} \right)^{2}}}{\left( {M/2} \right)}},{{{for}\mspace{14mu} \sqrt{\left( {x - x_{p}} \right)^{2} + \left( {y - y_{p}} \right)^{2}}} \leq \left( {M/2} \right)}}{and}{{{W\left( {x,y} \right)} = 0},{{{for}\mspace{14mu} \sqrt{\left( {x - x_{p}} \right)^{2} + \left( {y - y_{p}} \right)^{2}}} > \left( {M/2} \right)}}} & \left( {{Eq}.\mspace{14mu} 7} \right) \end{matrix}$

It will be appreciated that the particular weighting factors described above are exemplary only and not limiting. More generally, provided that the windowing function and/or weighting factors are chosen to significantly attenuate the influence of the pseudo-pixels adjacent to the periphery of the analysis region 130″ on the curve-fitting operations, various types of windowing functions may be applied. In various embodiments, the attenuation of the curve-fitting terms corresponding to pseudo-pixels adjacent to the periphery need not approach zero as closely as in the example above. For example, in some embodiments, some of the terms corresponding to pseudo-pixels adjacent to the periphery may have weighting factors that are one the order of ½ the magnitude of the maximum possible weighting factor, or more, and advantageous results may still be obtained.

Furthermore, in the example shown in EQUATION 6 the weighting factors are applied to the differences in the least squares minimization function FW. However, it should be appreciated that although this approach has the advantage that it is straightforward to implement, it is exemplary only, and not limiting. For example, although it may be somewhat more complex to implement and/or produce somewhat less desirable results, in various embodiments a similar sub-pixel error reduction effect may be achieved by separately weighting the individual terms GF²(x,y) and CFVP²(x,y), or even the terms GF(x,y) and CFVP(x,y), with appropriate individual weighting factors. These and other mathematical alternatives that may provide a similar benefit in terms of systematic sub-pixel error reduction will be apparent to one skilled in the art. However, in each case, according to one principle of this invention the related windowing functions and/or weighting factors should be determined with reference to the location of a preliminary estimate of the 2D correlation function peak location, wherein the preliminary estimate of the correlation function peak location is made with sub-pixel resolution.

FIG. 3 illustrates one exemplary embodiment of a routine 300 according to this invention, for estimating a correlation function peak location in an image correlation displacement sensing system with reduced periodic sub-pixel errors, using relatively few correlation function value points. The routine 300 starts at a block 305, where a reference image is captured. The routine continues at a block 310, where a displaced image is captured.

Next, at a block 315, a search for an initial peak correlation function value point (CFVP) is performed with pixel-level resolution, based on comparing the reference and displaced images. In one embodiment, the reference and displaced images may be compared using a “sum of the absolute differences” (SAD) correlation technique (sometimes also known as an “absolute value of the differences”, or “AVD” technique). Two-dimensional (2D) SAD CFVPs may be determined according to known techniques, for example, by analogy with the description of EQUATION 2 that is included in the '349 patent. In various embodiments, the operations that determine the location of the initial peak correlation function value point with pixel-level resolution may comprise a fast-, coarse-, or sparse-search technique, such as one of the techniques outlined in the incorporated '291 or '254 patents, or the like.

Next, at a block 320, a complete set of CFVPs are determined or identified in an analysis region in the vicinity of the initial peak CFVP, e.g. in an analysis region centered around the initial peak CFVP. For example, in various embodiments the initial peak CFVP, identified by the operations of block 315, may correspond to the peak correlation function value point 120″ discussed above with reference to FIG. 2. Then, in various embodiments, an analysis region corresponding to the analysis region 130″ is selected such that it is centered about the initial peak CFVP. The analysis region may consist of a region of M×N pseudo-pixels, as previously outlined. In one embodiment M=N=5, and in another embodiment M=N=3, although it will be understood that these values for M and N are exemplary only, and not limiting. Regardless of the size of the analysis region, in various embodiments, the operations of block 320 determine a complete set CFVPs throughout the analysis region. It will be appreciated that in some embodiments, the operations of the search performed to find the initial peak CFVP at block 315 may include determining the CFVPs throughout a region that is searched to find the eventually-determined initial peak CFVP. In such a case, the operations of the block 320, may be limited to identifying an analysis region such that it is centered about the initial peak CFVP, and the included CFVPs will have been previously determined.

Next, at a block 330, the “correlation quality” of one of more CFVPs included in the analysis region is assessed. For example, in one embodiment, the ratio of the magnitude of the initial peak CFVP relative to the magnitude of a background or default CFVP is determined. The background or default CFVP magnitude corresponds to a “noise” value, that is, a value indicative of no significant correlation. Such a value may be known by design (a default value), or by determining a background CFVP (or an average of CFVPs) at a predetermined distance away from the initial peak CFVP, such that is certain to fall outside of the correlation peak.

Next, at a decision block 340, is determined whether the correlation quality is indicative of a valid correlation function peak. For example, if the previously described “correlation quality” ratio is 10, then the analysis region certainly includes a correlation function peak. Whereas, if the previously described ratio is near one, then the analysis region is unlikely to include a true correlation function peak. In practice, the correlation quality criteria applied at block 340 may be determined based on experience and/or analysis. If it is determined at the decision block 340 that the correlation quality does indicate a valid correlation function peak in the analysis region, then the routine continues to a block 350. Otherwise, if it is determined that the correlation quality does not indicate a valid correlation peak, then operation continues to a block 345, where a correlation quality error message is output, and the routine ends. It will be appreciated that the blocks 330, 340, and 345 may be optional or omitted in various embodiments of the routine 300. While the operations of the blocks 330, 340 and 345 provide features that tend to enhance the reliability and/or reduce a risk of error that may be associated with an image correlation displacement sensing system according to this invention, they have no effect on the ultimate resolution or accuracy of a correlation function peak location that is estimated based on CFVPs associated with a true correlation function peak.

At the block 350, a preliminary correlation function peak location is estimated with sub-pixel resolution, based on the CFVPs included in the analysis region in the vicinity of the initial peak CFVP. In various embodiments, the preliminary correlation function peak location is estimated with sub-pixel resolution using relatively few CFVPs proximate to the initial peak CFVP (e.g. the peak CFVP 120″), for example according to one of the methods described in the '422 patent. However, in various other embodiments, any other now known or later-developed method that can estimate a preliminary correlation function peak location with sub-pixel resolution, based on the CFVPs included in the analysis region, may be used.

Next, at a block 360, curve-fitting to estimate a final correlation function peak location with sub-pixel accuracy is performed, wherein the curve-fitting operations include the application of a windowing function and/or weighting factors that is/are located with sub-pixel resolution based on the preliminary sub-pixel correlation function peak location determined by the operations of block 350. For example, in various embodiments, the operations of the block 360 may implement a method according to the teachings outlined above with reference to EQUATIONS 1-7. Then, at a block 370, based on the coordinates of the final estimated sub-pixel correlation function peak location, a corresponding displacement value is determined, and the routine ends.

Although the foregoing embodiments according to this invention have generally been described as determining the peak of a correlation function in order to estimate the best correlation location for a reference in displaced image, it should be appreciated that it is also known to estimate the best correlation location based on estimating the centroid of a correlation function. When such methods are applied, systematic sub-pixel errors similar to those described herein with reference to FIG. 1 may arise, for similar reasons. In a manner analogous to that outlined above may, a windowing function and/or a set of weighting factors may be applied to the CFVPs used for estimating the centroid in order to reduce such systematic sub-pixel errors. Thus, although there may be disadvantages to the centroid estimating method when using relatively few CFVPs, it may nevertheless be used in conjunction with various other aspects of this invention in various embodiments, and satisfactory results may still be obtained. In particular, the estimation of a best correlation location with sub-pixel accuracy based on centroid estimation may include the application of a windowing function and/or a set of weighting factors (e.g. for weighting a set of CFVPs) that is/are located with sub-pixel resolution based on a preliminary sub-pixel correlation function peak location.

While the preferred embodiment of the invention has been illustrated and described, numerous variations in the illustrated and described arrangements of features and sequences of operations will be apparent to one skilled in the art based on this disclosure. Thus, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention. 

1. A correlation function peak finding method for use in an image correlation displacement sensing system, the method comprising: capturing a reference image; capturing a displaced image; searching for an initial peak correlation function value point (CFVP) with pixel-level resolution, based on determining a plurality of respective CFVPs based on at least a portion of the reference image and the displaced image, at a plurality of respective offset positions; determining a complete set of CFVPs at each offset position included in an analysis region in the vicinity of the initial peak CFVP; estimating a preliminary correlation function peak location with sub-pixel resolution, based on CFVPs included in the analysis region in the vicinity of the initial peak CFVP; and performing curve-fitting operations to estimate a final correlation function peak location with sub-pixel accuracy, wherein the curve-fitting operations include the application of at least one of a windowing function and a set of weighting factors that is/are located with sub-pixel resolution based on the preliminary sub-pixel correlation function peak location. 